The placeOrderModify method replaces open order with new order.
var placeOrderModify(previousOrder, newOrder);
previousOrder
Valid Order object instance filled with information for an existing order.
newOrder
Valid Order object instance filled with information for a new order.
This method returns true if order was placed successfully, false otherwise.
In order to replace existing order with a new one, validate that previous order contains a valid orderId.
The following example demonstrates the use of placeOrderModify method. The code attempts to modify all open limit orders by $0.01.
function start()
{
//retrieve short positions for all symbols
var account = getAccount();
var placeOrderModify = false;
//determine whether order modify needs to be placed
..
..
..
//if orders need to be modified, find limit orders, and modify their limit prices by $0.01
if(placeOrderModify)
{
//get all open orders
var orders = account.getOrders();
//modify all limit orders
for(var i = 0; i < orders.length; i++)
{
//if limit, then modify
if(orders[i].getOrderType() == ORDERTYPE_LIMIT)
{
var prevOrder = orders[i];
var newOrder = new Order();
//copy previous order into new order
newOrder.setSymbol(prevOrder.getSymbol());
newOrder.setOrderType(prevOrder.getOrderType());
newOrder.setActionType(prevOrder.getActionType());
newOrder.setTifType(prevOrder.getTifType());
newOrder.setQuantity(prevOrder.getQuantity());
//modify limit price by 0.01 if possible
newOrder.setLimitPrice(prevOrder.getLimitPrice() - 0.01 > 0.01 ? prevOrder.getLimitPrice() - 0.01 : prevOrder.getLimitPrice());
//submit order modify request
var rc = account.placeOrderModify(prevOrder, newOrder);
}
}
}
}
start(), getAccount(), Order class
Copyright © 2006-2009 ActiveTick LLC